Esse é meu primeiro post e vou mostrar uma nova ferramenta que estou criando para ser utilizada no Berimbau Linux
Na verdade já utilizamos um chamado de killprocess (em breve no sourceForge) criado pela nossa equipe, mas resolvi criar uma nova por causa da sua manutenção e simplicidade no código.
O quê o Deslogar v2.0 faz:
- Lista todos os usuários que estão logados no sistema. No nosso caso, serão mostradas apenas os usuários das estações LTSP.
- Permite selecionar vários usuários e deslogá-los
Dependência de pacotes:
- Zenity
- Slay
Utilizei Shell Script + Zenity e a tela é essa aí:
O seu código original é esse:
#!/bin/bash
## Ferramenta criada pela Equipe de Desenvolvimento – PISD – Programa de Inclusao Socio-Digital do Estado da Bahia.
## Desloga os usuarios das estações LTSP
## Arquivo criado em 13/11/2007##
# Pegando valor do ID
ID=$(cat /etc/idconf)if [ -z $ID ]; then
# Se nao encontrar ID aparece essa mensagem de erro.
zenity –error –title “ERRO” –text “ID não encontrado, por isso o programa não será executado.\nEntre em contato com a Central de Atendimentos.”
else
DESLOGAR=$(zenity –list –multiple –print-column=2 –width=400 –height=400 –title “Deslogar v2.0″ –text “Selecione o(s) usuario(s) que deseja deslogar:” –column “Estacao” $(w -h | grep ${ID}E | egrep -v ‘(pts|admin|admintec|root)’ | awk ‘{print $3″ “$1}’ | sort -n) –column “Usuario”)if [ ! -z $DESLOGAR ]; then
slay $(echo $DESLOGAR | tr ‘|’ ” “)
fi
fi
Pode selecionar um, vários ou todos os usuários:
Lembrando que pra utilizar o Deslogar v2.0 é preciso ter privilégio de root ;)
Mas pra quem usa LTSP e deseja utilizar essa ferramenta, pode utilizar esse código:
#!/bin/bash
## Ferramenta criada por Ataliba Neto – ataliba”ARROBA”atalibaneto.com.br
## Desloga os usuarios conectados no sistema
## Depende dos pacotes: Zenity e Slay
## Arquivo criado em Wed, 14 Nov 2007 15:43:35 -0300DESLOGAR=$(zenity –list –multiple –print-column=2 –width=400 –height=400 –title “Deslogar v2.0″ –text “Selecione o(s) usuario(s) que deseja deslogar:” –column “Estacao” $(w -h | awk ‘{print $3″ “$1}’ | sort -n) –column “Usuario”)
if [ ! -z $DESLOGAR ]; then
slay $(echo $DESLOGAR | tr ‘|’ ” “)fi
Só que esse código não é 100% funcional, pois utilizei o comando ‘w’ do Linux para listar os usuários, e esse comando possui uma problema. Ele só lista os oito primeiros caracteres dos usuários, ou seja, se o usuário for ‘atalibaneto’ ele só vai listar ‘ataliban’ e o Deslogar v2.0 não vai funcionar. Pra isso vou usar o comando ‘finger’ que lista o nome do usuário completo, mas ainda não terminei.
Por enquanto é só ;)
0sem comentários ainda